游戏之碰撞检测

这篇博客探讨了JAVA游戏中碰撞检测的处理步骤,包括矩形和圆形碰撞检测。对于矩形碰撞,利用Rectangle类的API进行检测,如intersection和intersects方法。圆形碰撞检测则基于圆心距离和半径的比较,判断是否发生碰撞。
摘要由CSDN通过智能技术生成

JAVA游戏之碰撞检测

碰撞检测的过程处理主要有以下三步:

  1. 碰撞检测(Collision Detection):返回两个或多个物体是否发生碰撞的布尔判断。
  2. 碰撞确定(Collision Determination):找到物体之间实际相交位置。
  3. 碰撞响应(Collision Response):针对两个物体之间的碰撞决定采取何种操作。

矩形碰撞检测

  • 游戏中的物体形状一般为矩形,这是规则图形。它的碰撞检测可以通过Java API中的Rectangle类来实现碰撞的检测。
    Rectangle 指定坐标空间中的一个区域,通过坐标空间中 Rectangle 对象左上方的点 (x,y)、宽度和高度可以定义这个区域。
  • 其构造函数Rectangle(int x, int y, int width, int height)
  • height Rectangle 对象的高度。
  • width Rectangle 对象的宽度。
  • x Rectangle 对象左上角的 X 坐标。
  • y Rectangle 对象左上角的 Y 坐标。

碰撞检测相关的方法:
// 计算此 Rectangle 与指定 Rectangle 的交集
public Rectangle intersection(Rectangle r)

// 确定此 Rectangle 是否与指定的 Rectangle 相交
public Rectangle intersects(Rectangle r)

如果两个Rectangle对象有交集,那么他们就有碰撞了
适用于在精确度要求不高时的碰撞检测
eg.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值